Di Rust, Profil Rilis adalah konfigurasi yang telah ditentukan sebelumnya yang memungkinkan pengembang mengendalikan kompromi antara waktu kompilasi dan kinerja saat runtime. Dengan menyesuaikan pengaturan ini, Anda dapat menyesuaikan perilaku kompiler agar sesuai dengan alur kerja Anda saat ini, baik itu iterasi cepat maupun peluncuran produksi.
1. Profil Dev vs. Profil Rilis
Cargo memiliki dua profil utama: dev (digunakan oleh cargo build) dan rilis (digunakan oleh cargo build --release). Profil dev dioptimalkan untuk kompilasi yang cepat tetapi menghasilkan eksekusi kode yang lebih lambat, sementara profil rilis menghabiskan lebih banyak waktu untuk mengoptimalkan kode mesin demi efisiensi maksimal.
2. Pengaturan Level Optimal
Pengaturan opt-level pengaturan ini adalah kontrol utama untuk kinerja. Nilainya berkisar dari 0 hingga 3:
- 0: Tanpa optimasi. Pembuatan cepat, kode lambat. (Bawaan untuk dev)
- 1-2: Optimasi menengah.
- 3: Optimasi agresif. Pembuatan lambat, kode tercepat. (Bawaan untuk rilis)
- "s" atau "z": Mengoptimalkan ukuran biner bukan kecepatan.
| Profil | Level Optimal Bawaan | Tujuan |
|---|---|---|
| dev | 0 | Iterasi cepat |
| rilis | 3 | Kecepatan produksi |
3. Menyesuaikan Profil
Anda dapat menimpa nilai bawaan ini di file Cargo.toml. Ini berguna ketika kode yang tidak dioptimalkan terlalu lambat untuk pengujian (misalnya pada simulasi berat), tetapi pembuatan rilis penuh memakan waktu terlalu lama.
opt-level = 1 # Kode lebih cepat daripada level 0, tetap cepat dikompilasi